/*
 * Copyright © 2018 www.noark.xyz All Rights Reserved.
 *
 * 感谢您选择Noark框架，希望我们的努力能为您提供一个简单、易用、稳定的服务器端框架 ！
 * 除非符合Noark许可协议，否则不得使用该文件，您可以下载许可协议文件：
 *
 *        http://www.noark.xyz/LICENSE
 *
 * 1.未经许可，任何公司及个人不得以任何方式或理由对本框架进行修改、使用和传播;
 * 2.禁止在本项目或任何子项目的基础上发展任何派生版本、修改版本或第三方版本;
 * 3.无论你对源代码做出任何修改和改进，版权都归Noark研发团队所有，我们保留所有权利;
 * 4.凡侵犯Noark版权等知识产权的，必依法追究其法律责任，特此郑重法律声明！
 */
package xyz.noark.codec;

/**
 * 测试用例
 *
 * @author 小流氓[176543888@qq.com]
 */
public class CodecTest {
    public static void main(String[] args) {
        String x = "{\"attacker\":{\"fightTroopsBuffDTO\":{\"effectId\":102,\"resonanceId\":1},\"morale\":100,\"player\":{\"id\":2199024597858561,\"name\":\"玩家#3282\",\"show\":{\"boxId\":100,\"id\":2},\"techInfo\":{\"effIdSet\":[115011,117011,111011,101,112011,108011,116011,118011,112013,112012,108012,108014],\"effectMap\":{40201:{\"value\":0,\"valueMap\":{{\"idSet\":[4100]}:50,{\"idSet\":[4200]}:50,{\"idSet\":[4300]}:50,{\"idSet\":[4400]}:50}},201101:{\"value\":2000,\"valueMap\":{}},40101:{\"value\":0,\"valueMap\":{{\"idSet\":[4100]}:50,{\"idSet\":[4200]}:50,{\"idSet\":[4300]}:50,{\"idSet\":[4400]}:50}},40361:{\"value\":0,\"valueMap\":{{\"idSet\":[99510]}:200}},40261:{\"value\":0,\"valueMap\":{{\"idSet\":[99510]}:200}},40161:{\"value\":0,\"valueMap\":{{\"idSet\":[99510]}:200}},101:{\"value\":100,\"valueMap\":{}},102:{\"value\":100,\"valueMap\":{}},103:{\"value\":100,\"valueMap\":{}},104:{\"value\":300,\"valueMap\":{}},105:{\"value\":300,\"valueMap\":{}},106:{\"value\":100,\"valueMap\":{}},40301:{\"value\":0,\"valueMap\":{{\"idSet\":[4100]}:50,{\"idSet\":[4200]}:50,{\"idSet\":[4300]}:50,{\"idSet\":[4400]}:50}},201202:{\"value\":200,\"valueMap\":{}},201201:{\"value\":200,\"valueMap\":{}}}}},\"playerTroops\":{\"heroList\":[{\"arms\":{\"attrMap\":{401:20,402:20,403:186,501:1,502:1},\"level\":1,\"rank\":0,\"templateId\":102},\"attrMap\":{320:8000,321:4000,101:123,102:110,103:118,104:73,201:47104,202:9248,203:45214,204:8434,301:0,205:3766,302:115,303:15000,304:100,305:15},\"curNum\":3766,\"fateSkillList\":[],\"index\":1,\"level\":60,\"maxNum\":3766,\"power\":1305162,\"skillList\":[{\"fateLv\":0,\"index\":1,\"level\":20},{\"fateLv\":0,\"index\":2,\"level\":20},{\"fateLv\":0,\"index\":3,\"level\":20}],\"star\":20,\"techInfo\":{\"effIdSet\":[91021],\"effectMap\":{20101:{\"value\":200,\"valueMap\":{}},20301:{\"value\":200,\"valueMap\":{}}}},\"templateId\":1502},{\"arms\":{\"attrMap\":{401:21,402:18,403:163,501:1,502:1},\"level\":1,\"rank\":0,\"templateId\":103},\"attrMap\":{320:5000,321:7000,101:112,102:123,103:78,104:119,201:45359,202:8434,203:46958,204:9277,301:15,205:3806,302:100,303:15000,304:106,305:15},\"curNum\":3806,\"fateSkillList\":[],\"index\":2,\"level\":60,\"maxNum\":3806,\"power\":1300847,\"skillList\":[{\"fateLv\":0,\"index\":1,\"level\":20},{\"fateLv\":0,\"index\":2,\"level\":20},{\"fateLv\":0,\"index\":3,\"level\":20}],\"star\":20,\"techInfo\":{\"effIdSet\":[91031],\"effectMap\":{30400:{\"value\":6,\"valueMap\":{}}}},\"templateId\":1501},{\"arms\":{\"attrMap\":{401:21,402:18,403:163,501:1,502:1},\"level\":1,\"rank\":0,\"templateId\":103},\"attrMap\":{320:4000,321:8000,101:109,102:124,103:74,104:117,201:44923,202:8434,203:47104,204:9219,301:15,205:3752,302:100,303:15000,304:121,305:0},\"curNum\":3752,\"fateSkillList\":[],\"index\":3,\"level\":60,\"maxNum\":3752,\"power\":1291037,\"skillList\":[{\"fateLv\":0,\"index\":1,\"level\":20},{\"fateLv\":0,\"index\":2,\"level\":20},{\"fateLv\":0,\"index\":3,\"level\":20}],\"star\":20,\"techInfo\":{\"effIdSet\":[91031],\"effectMap\":{30400:{\"value\":6,\"valueMap\":{}}}},\"templateId\":1503},{\"arms\":{\"attrMap\":{401:18,402:21,403:197,501:1,502:1},\"level\":1,\"rank\":0,\"templateId\":202},\"attrMap\":{320:8000,321:4000,101:124,102:114,103:119,104:77,201:47249,202:9277,203:45795,204:8434,301:15,205:3846,302:100,303:15000,304:115,305:0},\"curNum\":3846,\"fateSkillList\":[],\"index\":4,\"level\":60,\"maxNum\":3846,\"power\":1326728,\"skillList\":[{\"fateLv\":0,\"index\":1,\"level\":20},{\"fateLv\":0,\"index\":2,\"level\":20},{\"fateLv\":0,\"index\":3,\"level\":20}],\"star\":20,\"techInfo\":{\"effIdSet\":[92021],\"effectMap\":{20101:{\"value\":200,\"valueMap\":{}},20301:{\"value\":200,\"valueMap\":{}}}},\"templateId\":5501},{\"arms\":{\"attrMap\":{401:18,402:21,403:197,501:1,502:1},\"level\":1,\"rank\":0,\"templateId\":202},\"attrMap\":{320:9000,321:3000,101:124,102:107,103:121,104:73,201:47249,202:9335,203:44778,204:8434,301:15,205:3779,302:100,303:15000,304:115,305:0},\"curNum\":3779,\"fateSkillList\":[],\"index\":5,\"level\":60,\"maxNum\":3779,\"power\":1314933,\"skillList\":[{\"fateLv\":0,\"index\":1,\"level\":20},{\"fateLv\":0,\"index\":2,\"level\":20},{\"fateLv\":0,\"index\":3,\"level\":20}],\"star\":20,\"techInfo\":{\"effIdSet\":[92021],\"effectMap\":{20101:{\"value\":200,\"valueMap\":{}},20301:{\"value\":200,\"valueMap\":{}}}},\"templateId\":2503}],\"index\":1,\"power\":6538707},\"replaceTech\":{102701:0,101102:0},\"techInfo\":{\"effIdSet\":[11],\"effectMap\":{71300:{\"value\":0,\"valueMap\":{{\"idSet\":[9200]}:1500}}}}},\"defender\":{\"fightTroopsBuffDTO\":{\"effectId\":102,\"resonanceId\":1},\"morale\":100,\"player\":{\"id\":2199024597858561,\"name\":\"玩家#3282\",\"show\":{\"$ref\":\"$.attacker.player.show\"},\"techInfo\":{\"$ref\":\"$.attacker.player.techInfo\"}},\"playerTroops\":{\"heroList\":[{\"arms\":{\"attrMap\":{\"$ref\":\"$.attacker.playerTroops.heroList[0].arms.attrMap\"},\"level\":1,\"rank\":0,\"templateId\":102},\"attrMap\":{\"$ref\":\"$.attacker.playerTroops.heroList[0].attrMap\"},\"curNum\":3766,\"fateSkillList\":[],\"index\":1,\"level\":60,\"maxNum\":3766,\"power\":1305162,\"skillList\":[{\"fateLv\":0,\"index\":1,\"level\":20},{\"fateLv\":0,\"index\":2,\"level\":20},{\"fateLv\":0,\"index\":3,\"level\":20}],\"star\":20,\"techInfo\":{\"$ref\":\"$.attacker.playerTroops.heroList[0].techInfo\"},\"templateId\":1502},{\"arms\":{\"attrMap\":{\"$ref\":\"$.attacker.playerTroops.heroList[1].arms.attrMap\"},\"level\":1,\"rank\":0,\"templateId\":103},\"attrMap\":{\"$ref\":\"$.attacker.playerTroops.heroList[1].attrMap\"},\"curNum\":3806,\"fateSkillList\":[],\"index\":2,\"level\":60,\"maxNum\":3806,\"power\":1300847,\"skillList\":[{\"fateLv\":0,\"index\":1,\"level\":20},{\"fateLv\":0,\"index\":2,\"level\":20},{\"fateLv\":0,\"index\":3,\"level\":20}],\"star\":20,\"techInfo\":{\"$ref\":\"$.attacker.playerTroops.heroList[1].techInfo\"},\"templateId\":1501},{\"arms\":{\"attrMap\":{\"$ref\":\"$.attacker.playerTroops.heroList[2].arms.attrMap\"},\"level\":1,\"rank\":0,\"templateId\":103},\"attrMap\":{\"$ref\":\"$.attacker.playerTroops.heroList[2].attrMap\"},\"curNum\":3752,\"fateSkillList\":[],\"index\":3,\"level\":60,\"maxNum\":3752,\"power\":1291037,\"skillList\":[{\"fateLv\":0,\"index\":1,\"level\":20},{\"fateLv\":0,\"index\":2,\"level\":20},{\"fateLv\":0,\"index\":3,\"level\":20}],\"star\":20,\"techInfo\":{\"$ref\":\"$.attacker.playerTroops.heroList[2].techInfo\"},\"templateId\":1503},{\"arms\":{\"attrMap\":{\"$ref\":\"$.attacker.playerTroops.heroList[3].arms.attrMap\"},\"level\":1,\"rank\":0,\"templateId\":202},\"attrMap\":{\"$ref\":\"$.attacker.playerTroops.heroList[3].attrMap\"},\"curNum\":3846,\"fateSkillList\":[],\"index\":4,\"level\":60,\"maxNum\":3846,\"power\":1326728,\"skillList\":[{\"fateLv\":0,\"index\":1,\"level\":20},{\"fateLv\":0,\"index\":2,\"level\":20},{\"fateLv\":0,\"index\":3,\"level\":20}],\"star\":20,\"techInfo\":{\"$ref\":\"$.attacker.playerTroops.heroList[3].techInfo\"},\"templateId\":5501},{\"arms\":{\"attrMap\":{\"$ref\":\"$.attacker.playerTroops.heroList[4].arms.attrMap\"},\"level\":1,\"rank\":0,\"templateId\":202},\"attrMap\":{\"$ref\":\"$.attacker.playerTroops.heroList[4].attrMap\"},\"curNum\":3779,\"fateSkillList\":[],\"index\":5,\"level\":60,\"maxNum\":3779,\"power\":1314933,\"skillList\":[{\"fateLv\":0,\"index\":1,\"level\":20},{\"fateLv\":0,\"index\":2,\"level\":20},{\"fateLv\":0,\"index\":3,\"level\":20}],\"star\":20,\"techInfo\":{\"$ref\":\"$.attacker.playerTroops.heroList[4].techInfo\"},\"templateId\":2503}],\"index\":1,\"power\":6538707},\"replaceTech\":{102701:0,101102:0},\"techInfo\":{\"effIdSet\":[11],\"effectMap\":{71300:{\"value\":0,\"valueMap\":{{\"idSet\":[9200]}:1500}}}}},\"play\":{\"mass\":false,\"pvp\":false,\"type\":1}}";
        System.out.println(x);

        // MethodHandles.byteArrayViewVarHandle()

    }
}
